// **********************************************************************
//
// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_TOUCH_LICENSE file included in this distribution.
//
// **********************************************************************

// Ice version 3.3.1
// Generated from file `collaboration.ice'

#import <Ice/Config.h>
#import <Ice/Proxy.h>
#import <Ice/Object.h>
#import <Ice/Current.h>
#import <Ice/Exception.h>
#import <Ice/Stream.h>

@class CollaborationEventConsumer;
@protocol CollaborationEventConsumer;

@class CollaborationEventSupplier;
@protocol CollaborationEventSupplier;

@class CollaborationEventConsumerPrx;
@protocol CollaborationEventConsumerPrx;

@class CollaborationEventSupplierPrx;
@protocol CollaborationEventSupplierPrx;

typedef NSData CollaborationEventData;
typedef NSMutableData CollaborationMutableEventData;

typedef NSDictionary CollaborationEvent;
typedef NSMutableDictionary CollaborationMutableEvent;

@protocol CollaborationEventConsumer
-(void) push:(CollaborationMutableEvent *)evt current:(ICECurrent *)current;
@end

@interface CollaborationEventConsumer : ICEObject
+(BOOL)push___:(id<CollaborationEventConsumer>)target current:(ICECurrent *)current is:(id<ICEInputStream>)is_ os:(id<ICEOutputStream>)os_;
@end

@protocol CollaborationEventSupplier
-(void) push:(CollaborationMutableEvent *)evt current:(ICECurrent *)current;
@end

@interface CollaborationEventSupplier : ICEObject
+(BOOL)push___:(id<CollaborationEventSupplier>)target current:(ICECurrent *)current is:(id<ICEInputStream>)is_ os:(id<ICEOutputStream>)os_;
@end

@protocol CollaborationEventConsumerPrx <ICEObjectPrx>
-(void) push:(NSDictionary *)evt;
-(void) push:(NSDictionary *)evt context:(ICEContext *)context;
@end

@protocol CollaborationEventSupplierPrx <ICEObjectPrx>
-(void) push:(NSDictionary *)evt;
-(void) push:(NSDictionary *)evt context:(ICEContext *)context;
@end

@interface CollaborationEventConsumerPrx : ICEObjectPrx <CollaborationEventConsumerPrx>
+(NSString *) ice_staticId;
+(void) push___:(NSDictionary *)evt prx:(ICEObjectPrx <CollaborationEventConsumerPrx> *)prx context:(ICEContext *)ctx;
@end

@interface CollaborationEventSupplierPrx : ICEObjectPrx <CollaborationEventSupplierPrx>
+(NSString *) ice_staticId;
+(void) push___:(NSDictionary *)evt prx:(ICEObjectPrx <CollaborationEventSupplierPrx> *)prx context:(ICEContext *)ctx;
@end

@interface CollaborationEventDataHelper : NSObject
+(id) ice_readWithStream:(id<ICEInputStream>)stream;
+(void) ice_writeWithStream:(id)obj stream:(id<ICEOutputStream>)stream;
@end

@interface CollaborationEventHelper : ICEDictionaryHelper
+(ICEKeyValueTypeHelper) getContained;
@end
